package com.wtwd.wtwddevice.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.wtwd.device.protocol.AppProtocol;
import com.wtwd.wtwddevice.model.entity.AppComm;

/**
 * <p>
 * 服务类
 * </p>
 *
 * @author mjy
 * @since 2024-05-17
 */
public interface IAppCommService extends IService<AppComm> {

    /**
     * 根据唯一索引插入或者更新
     *
     * @param appComm
     * @return
     */
    boolean insertOrUpdate(AppComm appComm);

    /**
     * app 下线
     *
     * @param deviceId
     * @return
     */
    boolean downLine(Long deviceId);

    /**
     * 推送设备状态信息给app
     *
     * @param deviceId
     * @param appProtocol
     * @return
     */
    boolean pushDeviceState(Long deviceId, AppProtocol appProtocol);

    /**
     * 根据设备id获取App推送状态信息
     *
     * @param deviceId
     * @return
     */
    AppComm getAppCommByDeviceId(Long deviceId);
}
